package com.sxs.controller;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sxs.entity.UserDO;
import com.sxs.service.CallUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/serviced")
@CrossOrigin
public class CallController {
    @Autowired
    private CallUserService callUserService;

    /**
     * 查询单个用户
     * @param id 用户id
     * @return User 单个用户信息
     */
    @GetMapping("/{id}")
    public UserDO findById(@PathVariable("id") String id){
        System.out.println("准备调用provider中的findById方法。。。");
        return callUserService.findById(id);
    }
    /**
     * 添加用户
     * @param user 用户信息
     * @return true/false
     */
    @PostMapping("/add")
    public boolean add(@RequestBody UserDO user){
        System.out.println("准备调用provider中的add方法。。。");
        Integer affectedRows = callUserService.addUserDO(user);
        if (affectedRows==1){
            return true;
        }else {
            return false;
        }
    }
    /**
     * 查询所有用户
     * @param current 当前页
     * @param limit 每页数量
     * @return Page对象
     */

    @GetMapping("/findAll/{current}/{limit}")
    public Page<UserDO> listUser(@PathVariable Long current, @PathVariable Long limit){
        System.out.println("准备调用provider中的listUser方法。。。");
        return callUserService.listUser(current,limit);
    }
    /**
     * 删除用户
     * @param id 用户ID
     * @return true/false
     */
    @DeleteMapping("/{id}")
    public boolean delete(@PathVariable String id){
        System.out.println("准备调用provider中的delete方法。。。");
        Integer delete = callUserService.delete(id);
        if (delete==1){
            return true;
        }else {
            return false;
        }
    }
    /**
     * 更新用户
     * @param user 用户信息
     * @return true/false
     */
    @PostMapping("/update")
    public boolean update(@RequestBody UserDO user){
        System.out.println("准备调用provider中的update方法。。。");
        Integer update = callUserService.update(user);
        if (update==1){
            return true;
        }else {
            return false;
        }
    }
}
